#include "NBE.h"

//#include <windows.h>
//#include "RenderSystem.h"
//
//#include "ShaderManager.h"
//#include "TextureManager.h"
//
//namespace NBE
//{
//		//export dll function
//#ifdef __cplusplus    // If used by C++ code, 
//	extern "C" {          //  need to export the C interface 
//#endif
//	
//	//Config g_cfg;
//	//std::shared_ptr<RenderSystem> g_pRenderer;
//	//std::shared_ptr<ShaderManager> g_pShaderMgr;
//	//std::shared_ptr<TextureManager> g_pTexMgr;
//
//
//	//
//
//	//NBE_API RenderSystem* __cdecl createRenderSystem(HINSTANCE h)
//	//{
//	//	RenderInfo* ri = loadRenderInfo();
//
//	//	
//
//	//	if( ri->type == 0 )
//	//	{
//	//		//gl
//	//		HINSTANCE m_rendererDLL = LoadLibrary(L"RendererGL.dll");
//	//		typedef RenderSystem* (__cdecl* createGLfuncPointer)(RenderInfo*, HINSTANCE);
//	//		createGLfuncPointer ptr_GL;
//	//		ptr_GL = (createGLfuncPointer)GetProcAddress(m_rendererDLL,"createGL");
//	//		g_pRenderer.reset( ptr_GL(ri,h));
//	//		return g_pRenderer.get();
//	//	}
//	//	else if( ri->type == 1 )
//	//	{
//	//		//dx
//	//		return nullptr;
//	//	}
//	//	return nullptr;
//	//}
//	//
//	//NBE_API ShaderManager* __cdecl getShaderManager()
//	//{
//	//	if(!g_pShaderMgr)
//	//		g_pShaderMgr.reset( new ShaderManager() );
//
//	//	return g_pShaderMgr.get();
//	//}
//
//	//NBE_API TextureManager* __cdecl getTextureManager()
//	//{
//	//	if(!g_pTexMgr)
//	//		g_pTexMgr.reset( new TextureManager() );
//
//	//	return g_pTexMgr.get();
//	//}
//
//	//NBE_API void releaseResource()
//	//{
//	//}
//#ifdef __cplusplus
//	}
//#endif



//}